home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SPACE 1
/
SPACE - Library 1 - Volume 1.iso
/
program
/
355
/
source
/
modre-ex
/
m2demo.mod
< prev
next >
Wrap
Text File
|
1990-02-02
|
4KB
|
119 lines
MODULE resource;
(*
Produced by ResourceMaker 0.10a
Copyright (c) 1985, 1986 Modula 2 Software Ltd.
Copyright (c) 1985, 1986 TDI Software Inc.
Resource file version: 00000H
*)
FROM SYSTEM IMPORT CODE, ADDRESS;
FROM AESResources IMPORT ResourceObjectFix;
CONST
(* object types that don't have to be relocated *)
GBOX = 20;
GPROGDEF = 24;
GIBOX = 25;
GBOXCHAR = 27;
CONST
(* resource file object counts and indicies *)
nrObjects = 8; ixObjects = 226;
nrTrees = 2; ixTrees = 418;
nrTedInfos = 2; ixTedInfos = 170;
(* resource file data inserted into CODE stream *)
(*$S-,$P-,$T-*)
PROCEDURE RESOURCEDATA0;
BEGIN
CODE(00000H,000E2H,000AAH,000AAH,000AAH,000AAH,00024H,000AAH);
CODE(000AAH,001A2H,00008H,00002H,00002H,00000H,00000H,00000H);
CODE(00000H,001AAH,05468H,06973H,02069H,07320H,06120H,07361H);
CODE(06D70H,06C65H,02064H,0656DH,06F20H,06F66H,02064H,06961H);
CODE(06C6FH,06700H,07265H,06164H,0696EH,06700H,05F5FH,05F5FH);
CODE(05F5FH,05F5FH,05F5FH,0004EH,0616DH,0653AH,05F5FH,05F5FH);
CODE(05F5FH,05F5FH,05F5FH,00058H,05858H,05858H,05858H,05858H);
CODE(05800H,0676FH,0206FH,06E21H,0005FH,05F5FH,05F5FH,05F5FH);
CODE(05F5FH,05F00H,0596FH,07520H,07479H,07065H,0643AH,05F5FH);
CODE(05F5FH,05F5FH,05F5FH,05F5FH,00058H,05858H,05858H,05858H);
CODE(05858H,05800H,0446FH,06E65H,02100H,00000H,0004CH,00000H);
CODE(00057H,00000H,00067H,00003H,00006H,00000H,01180H,00000H);
CODE(000FFH,0000BH,00010H,00000H,00079H,00000H,00084H,00000H);
CODE(00099H,00003H,00006H,00000H,01180H,00000H,000FFH,0000BH);
CODE(00015H,0FFFFH,00001H,00004H,00014H,00000H,00010H,00002H);
CODE(01100H,00000H,00000H,00026H,0000BH,00002H,0FFFFH,0FFFFH);
CODE(0001CH,00000H,00000H,00000H,00024H,00004H,00002H,0001FH);
CODE(00001H,00003H,0FFFFH,0FFFFH,0001CH,00000H,00000H,00000H);
CODE(00044H,0000FH,00004H,00009H,00001H,00004H,0FFFFH,0FFFFH);
CODE(0001DH,00008H,00000H,00000H,000AAH,0000BH,00006H,0000FH);
CODE(00001H,00000H,0FFFFH,0FFFFH,0001AH,00025H,00000H,00000H);
CODE(00072H,0000EH,00008H,00008H,00001H,0FFFFH,00001H,00002H);
CODE(00014H,00000H,00010H,00002H,01100H,00000H,00000H,0001CH);
CODE(00009H,00002H,0FFFFH,0FFFFH,0001DH,00008H,00000H,00000H);
CODE(000C6H,00003H,00002H,00014H,00001H,00000H,0FFFFH,0FFFFH);
CODE(0001AH,00025H,00000H,00000H,000A4H,00008H,00005H,00008H);
CODE(00001H,00000H,000E2H,00000H,0015AH);
END RESOURCEDATA0;
TYPE
OBJECT = RECORD
next, head: INTEGER;
tail, type: INTEGER;
flags, state: INTEGER;
spec: ADDRESS;
x, y: INTEGER;
width, height: INTEGER;
END;
TEDINFO = RECORD
ptext,
ptmplt,
pvalid: ADDRESS;
font, resvd1: INTEGER;
just, color: INTEGER;
resvd2, thickness: INTEGER;
txtlen, tmplen: INTEGER;
END;
VAR
i: CARDINAL; o: INTEGER; x: ADDRESS;
TreeAddr: POINTER TO ARRAY [0..nrTrees-1] OF ADDRESS;
TedInfoAddr: POINTER TO ARRAY [0..nrTedInfos-1] OF TEDINFO;
ObjectAddr: POINTER TO ARRAY [0..nrObjects-1] OF OBJECT;
BEGIN
(* relocate tree indicies *)
x := ADDRESS(RESOURCEDATA0) + ixTrees;
TreeAddr := x;
FOR i := 0 TO nrTrees-1 DO
TreeAddr^[i] := TreeAddr^[i] + ADDRESS(RESOURCEDATA0); INC(x,4);
END;
(* relocate ted infos *)
x := ADDRESS(RESOURCEDATA0) + ixTedInfos;
TedInfoAddr := x;
FOR i := 0 TO nrTedInfos-1 DO
WITH TedInfoAddr^[i] DO
ptext := ptext + ADDRESS(RESOURCEDATA0);
ptmplt := ptmplt + ADDRESS(RESOURCEDATA0);
pvalid := pvalid + ADDRESS(RESOURCEDATA0);
END;
END;
(* relocate object specs *)
x := ADDRESS(RESOURCEDATA0) + ixObjects;
ObjectAddr := x;
FOR i := 0 TO nrObjects-1 DO
WITH ObjectAddr^[i] DO
IF (type # GBOX) & (type # GPROGDEF) &
(type # GIBOX) & (type # GBOXCHAR) THEN
(* relocate against resource base *)
spec := spec + ADDRESS(RESOURCEDATA0);
END;
(* Fix up the scaling *)
ResourceObjectFix(ObjectAddr,i) ; (*0.10a*)
END;
END;
END resource.